package main

import (
	"bytes"
	"fmt"
	"io"
	"log"
	"os/exec"
)

func main() {
	// 执行用户代码
	cmd := exec.Command("go", "run", "code-user/main.go")

	// 创建输出缓冲区
	var out, stderr bytes.Buffer
	cmd.Stderr = &stderr // 错误输出
	cmd.Stdout = &out    // 标准输出

	// 获取输入管道
	stdinPipe, err := cmd.StdinPipe()
	if err != nil {
		log.Fatalln(err)
	}

	// 写入测试输入
	io.WriteString(stdinPipe, "23 11\n")
	// 运行程序
	if err := cmd.Run(); err != nil {
		log.Fatalln(err, stderr.String())
	}

	// 输出结果
	fmt.Println(out.String())
	// 验证结果是否正确（应为34）
	println(out.String() == "34\n")
}
